<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <meta http-equiv="content-style-type" content="text/css" />
 <meta name="author" content="Wilbert Dijkhof, Arlsair" />
 <meta name="date" content="2003-07-09" />
 <title>Animate/ApplyRange AviSynth Filter</title>
 <link rel="stylesheet" type="text/css" href="../../style.css" />
 <style type="text/css">td {vertical-align:top;}</style>
</head><body>
<h3><a name="Animate"></a>Animate</h3>

<tt>Animate(</tt><i>clip, int start_frame, int end_frame, string filtername, start_args, end_args</i><tt>)</tt><br />
<br />
<tt>Animate</tt> ist ein &quot;Meta-Filter&quot;. Der durch <i>filtername</i> angegebene Filter wird mit kontinuierlich ge&auml;nderten Werten ausgef&uuml;hrt. Beim Frame <i>start_frame</i> und davor wird der Filter mit den <i>start_args</i> Argumenten ausgef&uuml;hrt. Beim Frame <i>end_frame</i> und danach wird der Filter mit den <i>end_args</i> Argumenten ausgef&uuml;hrt. Dazwischen werden die Argumente linear interpoliert, um einen weichen &Uuml;bergang zu erhalten.<br />
<br />
<table border="0" cellspacing="5">
 <tr><th colspan="2"><b>Parameter:</b></th></tr>
 <tr><td><i>start_frame</i></td><td>Bis zu diesen Frame wird der durch <i>filtername</i> angegebene Filter mit den <i>start_args</i> ausgef&uuml;hrt.</td></tr>
 <tr><td><i>end_frame</i></td><td>Nach diesem Frame wird der durch <i>filtername</i> angegebene Filter mit den <i>end_args</i> ausgef&uuml;hrt.</td></tr>
 <tr><td><i>filtername</i></td><td>Der Name des Filters in Anf&uuml;hrungszeichen. Man kann interne Filter als auch Plugins und benutzerdefinierte Funktionen angeben. Es kann auch <tt>Animate</tt> sein, falls du anstatt einer linearen Interpolation eine quadratische haben willst.</td></tr>
 <tr><td><i>start_args</i></td><td>Das Argument vom Filter bis zu <i>start_frame</i>. Das Argument wird nicht in Klammern gesetzt.</td></tr>
 <tr><td><i>end_args</i></td><td>Das Argument vom Filter nach <i>end_frame</i>. Das Argument wird nicht in Klammern gesetzt.</td></tr>
</table>
<br />
Zeichenketten und Videoclips k&ouml;nnen nicht interpoliert werden und m&uuml;ssen daher bei beiden Argumentlisten gleich sein. OOP-Notation oder implizites <tt>last</tt> d&uuml;rfen nicht verwendet werden, auch wenn beim Filter im <i>filter</i> Argument normalerweise erlaubt ist.<br />
<br />
Dieser Filter bearbeitet einen sich ver&auml;ndernden Audio-Teil nicht richtig, es sollte daher nicht mit Filtern verwendet werden, die den Audio-Teil ver&auml;ndern. Des weiteren darf sich die Frame-Gr&ouml;&szlig;e nicht &auml;ndern.<br />
<br />
<table border="1" width="75%">
 <tr>
  <td>
    <b>Beispiele:</b><br />
    <br />
    <tt># eine Laufschrift-Version vom &quot;Version&quot;-Video:<br />
    ver = Version()<br />
    Animate(0,149,&quot;Crop&quot;, ver,0,0,64,32, ver,448,0,64,32)<br />
    <br />
    # auf Wei&szlig; blenden:<br />
    Animate(100,200,&quot;Levels&quot;, 0,1,255,0,255, 0,1,255,255,255)<br />
    <br />
    # Zur Mitte eines 320x240 Videos zoomen, beginnend bei Vergr&ouml;&szlig;erung 1:1 im Frame 100<br />
    # am Ende mit 4:1 Vergr&ouml;&szlig;erung bei Frame 200:<br />
    Animate(100,200,&quot;BicubicResize&quot;, 320,240,0,0,320,240, 320,240,120,90,80,60)<br />
    <br />
    # Den Text &quot;Hallo, Welt!&quot; herauszoomen aus der Bildmitte eines 320x240 Videos:<br />
    Animate(0,48,&quot;Subtitle&quot;, last,&quot;Hallo, Welt!&quot;,160,120,0,99999,&quot;Arial&quot;,0,<br />
    &nbsp; \&nbsp; last,&quot;Hallo, Welt!&quot;,25,130,0,99999,&quot;Arial&quot;,48)<br />
   </tt>
  </td>
 </tr>
</table>
<br />
<hr />
<h3><a name="ApplyRange"></a>ApplyRange</h3>

<tt>ApplyRange(</tt><i>clip, int start_frame, int end_frame, string filtername, args</i><tt>)</tt><br />
<br />
<tt>ApplyRange</tt> ist ein Spezialfall von <tt>Animate</tt>, wobei <i>start_args</i> = <i>end_args</i> ist. Man kann diesen Filter verwenden, wenn man einen bestimmten Filter auf einen bestimmten Bereich an Frames auf einen Clip anwenden will. Ein weiterer Unterschied zu <tt>Animate</tt> ist, dass <i>args</i> keinen Clip enthalten darf. <i>start_frame</i> kann gleich <i>end_frame</i> sein, wenn man nur diesen Frame haben m&ouml;chte.<br />
<br />
<table border="0" cellspacing="5">
 <tr><th colspan="2"><b>Beispiele:</b></th></tr>
 <tr><td width="68%"><tt>ApplyRange(clip, 0,48,&quot;Subtitle&quot;, &quot;Hallo, Welt!&quot;,25,130,0,99999,&quot;Arial&quot;,48)</tt></td><td width="32%">Eine Alternative zum letzten <tt>Animate</tt>-Beispiel.</td></tr>
</table>
<br />
<table border="0" cellspacing="5">
 <tr><th colspan="2"><b>Changelog:</b></th></tr>
 <tr><td><tt>v2.53</tt><td><tt>ApplyRange</tt> unterst&uuml;tzt nun Ton und <i>startframe</i> = <i>stopframe</i></td></tr>
 <tr><td><tt>v2.51</tt><td>Erstes Release</td></tr>
</table>
<br />
<form action=""><input type="button" value="Zur&uuml;ck" onclick="history.go(-1)" /></form>
</body>
</html>
